package top.korori.sv.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import top.korori.common.model.PageData;
import top.korori.sv.entity.SvUser;
import top.korori.sv.entity.bo.SvUserEditBo;
import top.korori.sv.entity.bo.SysSvUserBo;
import top.korori.sv.entity.vo.SvUserInfoVo;
import top.korori.sv.entity.vo.SysSvUserVo;

/**
 * 
 * 短视频前台用户 服务类
 * 
 *
 * @author korori
 * @since 2023-10-16
 */
public interface SvUserService extends IService<SvUser> {

    /**
     * 查询用户列表
     * @param svUserBo 查询参数
     * @return 用户列表
     */
    PageData<SysSvUserVo> getUserList(SysSvUserBo svUserBo);

    /**
     * 根据账号查询用户
     * @param account 账号
     * @return 用户信息
     */
    SvUser getByAccount(String account);

    /**
     * 根据手机号查询用户
     * @param phone 手机号
     * @return 用户信息
     */
    SvUser getByPhone(String phone);

    /**
     * 根据邮箱获取用户信息
     * @param email 邮箱
     * @return 用户信息
     */
    SvUser getByEmail(String email);



    /**
     * 查询当前用户登录信息
     * @return 完整前台用户信息
     */
    SvUser getUserInfo();

    /**
     * 根据用户名获取用户信息
     * @param userName 用户名
     * @return 用户信息
     */
    SvUser getByUserName(String userName);

    /**
     * 修改用户信息
     * @param svUserEditBo 用户信息
     */
    void editInfo(SvUserEditBo svUserEditBo);

    /**
     * 头像上传
     * @param base64 图片字符串
     * @return 文件路径
     */
    String uploadAvatar(String base64);

    /**
     * 获取当前前端展示用登录用户信息
     * @return 当前登录用户信息
     */
    SvUserInfoVo getLoginInfo();


    /**
     * @param multipartFile 文件
     */
    void uploadAvatarFile(MultipartFile multipartFile);
}
























